Moduły
- kwestia organizacyjna
- instrukcje from i import
- możliwość importu całego modułu lub jego części
from collections import OrderedDict
from foo import *
- każdy plik jest modułem
- importowany raz
- nie powinien samoczynnie wykonywać kodu
- można wymusić przeładowanie modułu
- wbudowana funkcja
reload
Python2
- funkcja modułu
imp.reload
Python3
- nazwa pliku = nazwa modułu
- zdefiniowane obiekty są atrybutami modułu
__dict__ dir()
__name__
dostępna nazwa modułu
__name__
jest ustawiony na __main__
jeśli moduł został wywołany
Wyszukiwanie modułów
- zmienna systemowa PYTHONPATH
- folder root skryptu wejściowego
- dostępne ścieżki w czasie uruchomienia
sys.path
Pakiety
- katalog = pakiet
- wymagany plik
__init__.py
- może być pusty
- przy imporcie pakietu najpierw uruchamiany jest
__init__
- specjalny atrybut
__all__
, pozwalający na definiowanie exportów